package com.fau.cm.service;

import java.util.List;
import java.util.Map;

import com.fau.cm.entity.MedicalAdmin;
import com.fau.cm.entity.MedicalGroup;
import com.fau.cm.entity.MedicalPlatform;
import com.fau.cm.entity.MedicalResource;
import com.fau.cm.util.Page;

/**
 * @desc 用户管理接口 
 * @author liy
 * @datetime 2015年1月5日,下午3:57:44
 */
public interface IUserManagerService {
	
	/**
	 * @desc 根据用户名查询用户
	 * @param username 用户名
	 * @return MedicalAdmin
	 * @author liy
	 * @datetime 2015年1月5日,下午3:56:27
	 */
	public MedicalAdmin findUserByName(String username);
	
	/**
	 * @desc 查询所有资源
	 * @return List<MedicalResource>
	 * @author liy
	 * @datetime 2015年1月5日,下午3:56:58
	 */
	public List<MedicalResource> findAllResource();
	
	/**
	 * @desc 查询根节点资源
	 * @return
	 * @author kangyj
	 * @datetime 2015年3月26日,下午4:21:32
	 */
	public List<MedicalResource> findRootResource();
	
	/**
	 * @desc 查询菜单资源
	 * @return List<MedicalResource>
	 * @author liy
	 * @datetime 2015年1月5日,下午3:57:19
	 */
	public List<MedicalResource> loadMenu();
	
	/**
	 * @desc 查询未读的消息
	 * @return int 未读消息数
	 * @author liy
	 * @datetime 2015年1月5日,下午3:55:50
	 */
	public int countUnreadNum();
	
	/**
	 * @desc 删除消息
	 * @author liy
	 * @datetime 2015年1月5日,下午4:26:25
	 */
	public void deleteMassage(String ids);
	
	/**
	 * @desc 分页查询消息
	 * @return Page
	 * @author liy
	 * @datetime 2015年1月5日,下午4:32:58
	 */
	public Page findMassageByPage(MedicalAdmin admin, Map<String, Object> map);
	
	/**
	 * @desc 设置为已读 
	 * @author liy
	 * @datetime 2015年1月5日,下午5:18:16
	 */
	public void setRead();
	
	/**
	 * @desc 查询所有话务中心
	 * @param admin 当前登录用户
	 * @return List<MedicalPlatform>
	 * @author liy
	 * @datetime 2014年12月17日,下午1:02:11
	 */
	public List<MedicalPlatform> findAllCurSerCenter(MedicalAdmin admin);
	
	/**
	 * @desc 查询所有客服组
	 * @param cid 中心ID
	 * @return List<MedicalGroup>
	 * @author liy
	 * @datetime 2014年12月17日,上午10:55:55
	 */
	public List<MedicalGroup> findAllCurSerGroup(String cid);
	
	/**
	 * @desc 查询某客服组下的所有客服
	 * @param groupId 客服组ID
	 * @return List<MedicalAdmin>
	 * @author liy
	 * @datetime 2014年12月17日,上午11:00:25
	 */
	public List<MedicalAdmin> findCurSerByGroupId(String groupId);
}
